package com.btpj.module_main.di

import com.btpj.module_main.data.remote.repository.MainRepository
import com.btpj.module_main.ui.MainViewModel
import com.btpj.module_main.ui.home.HomeListViewModel
import com.btpj.module_main.ui.home.HomeViewModel
import com.btpj.module_main.ui.mine.MineViewModel
import com.btpj.module_main.ui.nav.NavDataPageViewModel
import com.btpj.module_main.ui.nav.NavViewModel
import com.btpj.module_main.ui.project.ProjectViewModel
import com.btpj.module_main.ui.project.TabItemViewModel
import com.btpj.module_main.ui.tree.TreeViewModel
import org.koin.androidx.viewmodel.dsl.viewModel
import org.koin.dsl.module

val mainRepModule = module {
    factory { MainRepository(get()) }
}

val mainViewModelModule = module {
    viewModel { MainViewModel() }
    viewModel { HomeViewModel(get()) }
    viewModel { HomeListViewModel(get()) }
    viewModel { NavViewModel(get()) }
    viewModel { NavDataPageViewModel() }
    viewModel { ProjectViewModel(get()) }
    viewModel { TreeViewModel(get()) }
    viewModel { TabItemViewModel(get()) }
    viewModel { MineViewModel() }
}